home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 22 / PC Actual CD 22.iso / progs / DIRECTOR / data.z / Lists Lingo.dir / Error Messages_12_error message script.ls < prev    next >
Encoding:
Text File  |  1997-05-10  |  2.9 KB  |  98 lines

  1. on displayError whichMessageName
  2.   global gMaxChannels
  3.   editableOff()
  4.   set whichMember to "error messages text"
  5.   set vCurrentMessage to retrieveMessage(whichMessageName, whichMember)
  6.   set the text of member "error display" to vCurrentMessage
  7.   repeat with m = 1 to gMaxChannels
  8.     case 1 of
  9.       (the castNum of sprite m < 1):
  10.       (the name of member the castNum of sprite m starts "error"):
  11.         puppetSprite(m, 1)
  12.         if the locH of sprite m < 0 then
  13.           set the locH of sprite m to the locH of sprite m + 1000
  14.         end if
  15.     end case
  16.   end repeat
  17. end
  18.  
  19. on retrieveMessage whichMessageName, whichMember
  20.   set vSourceText to whichMember
  21.   set vStartLine to 0
  22.   set vTotalLines to the number of lines in the text of member vSourceText
  23.   repeat with m = 1 to vTotalLines
  24.     set vCurrentLIne to line m of the text of member vSourceText
  25.     if vCurrentLIne starts "<" then
  26.       if vCurrentLIne = whichMessageName then
  27.         set vStartLine to m + 1
  28.         set vEndLIne to 0
  29.         repeat with N = vStartLine to vTotalLines
  30.           set vCurrentLIne to line N of the text of member vSourceText
  31.           set vLastChar to the last char in vCurrentLIne
  32.           set vFirstChar to char 1 of vCurrentLIne
  33.           if (vLastChar = ">") and (vFirstChar = "<") then
  34.             set vEndLIne to N - 1
  35.             exit repeat
  36.             next repeat
  37.           end if
  38.           if N = vTotalLines then
  39.             set vEndLIne to N
  40.           end if
  41.         end repeat
  42.       end if
  43.     end if
  44.   end repeat
  45.   if (vStartLine = 0) and (vEndLIne = 0) then
  46.     return " "
  47.   else
  48.     return line vStartLine to vEndLIne of the text of member vSourceText
  49.   end if
  50. end
  51.  
  52. on endErrorMessage
  53.   global gMaxChannels
  54.   editableOn()
  55.   repeat with m = 1 to gMaxChannels
  56.     if the castNum of sprite m > 0 then
  57.       if the name of member the castNum of sprite m starts "error" then
  58.         if the locH of sprite m >= 0 then
  59.           set the locH of sprite m to the locH of sprite m - 1000
  60.         end if
  61.         puppetSprite(m, 0)
  62.       end if
  63.     end if
  64.   end repeat
  65. end
  66.  
  67. on editableOff
  68.   global gMaxChannels, gEditableList
  69.   if voidp(gEditableList) then
  70.     set gEditableList to []
  71.   end if
  72.   repeat with m = 1 to gMaxChannels
  73.     if the memberNum of sprite m > 0 then
  74.       set vWhichMember to the memberNum of sprite m
  75.       set vWhichCast to the castLibNum of sprite m
  76.       set vMemberNumber to the number of member vWhichMember of castLib vWhichCast
  77.       set vName to the name of member vMemberNumber
  78.       if the type of member vMemberNumber = #field then
  79.         if the editable of member vMemberNumber = 1 then
  80.           set the editable of member vMemberNumber to 0
  81.           add(gEditableList, vMemberNumber)
  82.         end if
  83.       end if
  84.     end if
  85.   end repeat
  86. end
  87.  
  88. on editableOn
  89.   global gEditableList
  90.   if voidp(gEditableList) then
  91.   else
  92.     repeat with m in gEditableList
  93.       set the editable of member m to 1
  94.     end repeat
  95.     set gEditableList to []
  96.   end if
  97. end
  98.